home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / g_man / cat3 / standard / v.z / v
Encoding:
Text File  |  1998-10-20  |  8.4 KB  |  133 lines

  1.  
  2.  
  3.  
  4. vvvv((((3333GGGG))))                                                                    vvvv((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      vvvv2222dddd,,,, vvvv2222ffff,,,, vvvv2222iiii,,,, vvvv2222ssss,,,, vvvv3333dddd,,,, vvvv3333ffff,,,, vvvv3333iiii,,,, vvvv3333ssss,,,, vvvv4444dddd,,,, vvvv4444ffff,,,, vvvv4444iiii,,,, vvvv4444ssss - transfers a
  10.      2-D, 3-D, or 4-D  vertex to the graphics pipe
  11.  
  12. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      vvvvooooiiiidddd vvvv2222ssss((((vvvveeeeccccttttoooorrrr))))                    vvvvooooiiiidddd vvvv2222ffff((((vvvveeeeccccttttoooorrrr))))
  14.      sssshhhhoooorrrrtttt vvvveeeeccccttttoooorrrr[[[[2222]]]];;;;                    ffffllllooooaaaatttt vvvveeeeccccttttoooorrrr[[[[2222]]]];;;;
  15.  
  16.      vvvvooooiiiidddd vvvv2222iiii((((vvvveeeeccccttttoooorrrr))))                    vvvvooooiiiidddd vvvv2222dddd((((vvvveeeeccccttttoooorrrr))))
  17.      lllloooonnnngggg vvvveeeeccccttttoooorrrr[[[[2222]]]];;;;                     ddddoooouuuubbbblllleeee vvvveeeeccccttttoooorrrr[[[[2222]]]];;;;
  18.  
  19.      vvvvooooiiiidddd vvvv3333ssss((((vvvveeeeccccttttoooorrrr))))                    vvvvooooiiiidddd vvvv3333ffff((((vvvveeeeccccttttoooorrrr))))
  20.      sssshhhhoooorrrrtttt vvvveeeeccccttttoooorrrr[[[[3333]]]];;;;                    ffffllllooooaaaatttt vvvveeeeccccttttoooorrrr[[[[3333]]]];;;;
  21.  
  22.      vvvvooooiiiidddd vvvv3333iiii((((vvvveeeeccccttttoooorrrr))))                    vvvvooooiiiidddd vvvv3333dddd((((vvvveeeeccccttttoooorrrr))))
  23.      lllloooonnnngggg vvvveeeeccccttttoooorrrr[[[[3333]]]];;;;                     ddddoooouuuubbbblllleeee vvvveeeeccccttttoooorrrr[[[[3333]]]];;;;
  24.  
  25.      vvvvooooiiiidddd vvvv4444ssss((((vvvveeeeccccttttoooorrrr))))                    vvvvooooiiiidddd vvvv4444ffff((((vvvveeeeccccttttoooorrrr))))
  26.      sssshhhhoooorrrrtttt vvvveeeeccccttttoooorrrr[[[[4444]]]];;;;                    ffffllllooooaaaatttt vvvveeeeccccttttoooorrrr[[[[4444]]]];;;;
  27.  
  28.      vvvvooooiiiidddd vvvv4444iiii((((vvvveeeeccccttttoooorrrr))))                    vvvvooooiiiidddd vvvv4444dddd((((vvvveeeeccccttttoooorrrr))))
  29.      lllloooonnnngggg vvvveeeeccccttttoooorrrr[[[[4444]]]];;;;                     ddddoooouuuubbbblllleeee vvvveeeeccccttttoooorrrr[[[[4444]]]];;;;
  30.  
  31. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  32.      _v_e_c_t_o_r   expects a 2, 3, or 4 element array, depending on whether you
  33.               call the vvvv2222, vvvv3333, or vvvv4444 version of the routine.  The elements of
  34.               the array are the coordinates of the vertex (point) that you
  35.               want to transfer to the graphics pipe. Put the _x coordinate in
  36.               element 0, the _y coordinate in element 1, the _z coordinate in
  37.               element 2 (for vvvv3333 and vvvv4444), and the _w coordinate in element 3
  38.               (for vvvv4444).
  39.  
  40. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  41.      vvvv transfers a single 2-D (vvvv2222), 3-D (vvvv3333), or 4-D (vvvv4444) vertex to the
  42.      graphics pipe.  The coordinates are passed to vvvv as an array. Separate
  43.      subroutines are provided for 16-bit integers (ssss), 32-bit integers limited
  44.      to a signed 24-bit range (iiii), 32-bit IEEE single precision floats (ffff),
  45.      and 64-bit IEEE double precision floats (dddd).  The _z coordinate defaults
  46.      to 0.0 if not specified.  _w defaults to 1.0.
  47.  
  48.      The Graphics Library subroutines bbbbggggnnnnppppooooiiiinnnntttt, eeeennnnddddppppooooiiiinnnntttt, bbbbggggnnnnlllliiiinnnneeee, eeeennnnddddlllliiiinnnneeee,
  49.      bbbbggggnnnncccclllloooosssseeeeddddlllliiiinnnneeee, eeeennnnddddcccclllloooosssseeeeddddlllliiiinnnneeee, bbbbggggnnnnppppoooollllyyyyggggoooonnnn, eeeennnnddddppppoooollllyyyyggggoooonnnn, bbbbggggnnnnttttmmmmeeeesssshhhh, eeeennnnddddttttmmmmeeeesssshhhh,
  50.      bbbbggggnnnnqqqqssssttttrrrriiiipppp, and eeeennnnddddqqqqssssttttrrrriiiipppp determine how the vertex is interpreted.  For
  51.      example, vertices specified between bbbbggggnnnnppppooooiiiinnnntttt and eeeennnnddddppppooooiiiinnnntttt draw single
  52.      pixels (points) on the screen.  Likewise, those specified between bbbbggggnnnnlllliiiinnnneeee
  53.      and eeeennnnddddlllliiiinnnneeee draw a sequence of lines (with the line stipple continued
  54.      through internal vertices).  Closed lines return to the first vertex
  55.      specified, producing the equivalent of an outlined polygon.
  56.  
  57.      Vertices specified when none of bbbbggggnnnnppppooooiiiinnnntttt, bbbbggggnnnnlllliiiinnnneeee, bbbbggggnnnncccclllloooosssseeeeddddlllliiiinnnneeee,
  58.      bbbbggggnnnnppppoooollllyyyyggggoooonnnn, bbbbggggnnnnttttmmmmeeeesssshhhh, and bbbbggggnnnnqqqqssssttttrrrriiiipppp are active simply set the current
  59.      graphics position.  They do not have any effect on the frame buffer
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. vvvv((((3333GGGG))))                                                                    vvvv((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      contents.  (Refer to the pages for bbbbggggnnnnppppooooiiiinnnntttt, bbbbggggnnnnlllliiiinnnneeee, bbbbggggnnnncccclllloooosssseeeeddddlllliiiinnnneeee,
  75.      bbbbggggnnnnppppoooollllyyyyggggoooonnnn, bbbbggggnnnnttttmmmmeeeesssshhhh, and bbbbggggnnnnqqqqssssttttrrrriiiipppp for their effect on the current
  76.      graphics position.)
  77.  
  78. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  79.      bgnclosedline, bgnline, bgnpoint, bgnpolygon, bgntmesh, bgnqstrip
  80.  
  81. BBBBUUUUGGGGSSSS
  82.      On the IRIS-4D/120GTX and IRIS-4D/140GTX, there is problem with the
  83.      graphics DMA hardware that can cause data to be sent to the hardware
  84.      after the subroutine call has returned.  If the data is modified immedi-
  85.      ately after the subroutine call, the modified data may get sent down.  To
  86.      avoid this, don't modify the data until after another nnnn, vvvv, or cccc call has
  87.      been made.
  88.  
  89.      This is an example of the bug:
  90.  
  91.           vertex[2] = 1.0;
  92.           v3f(vertex);                        /* 4D/1x0 GTX hardware may receive 3.0 for the z value */
  93.           vertex[2] = 3.0;
  94.           v3f(vertex);
  95.  
  96.  
  97.      This is one way to work around the problem:
  98.  
  99.           vertexA[2] = 1.0;
  100.           v3f(vertexA);
  101.           vertexB[2] = 3.0;
  102.           v3f(vertexB);
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.